package com.qili.entity.supervisor;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.stereotype.Component;

import javax.persistence.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * supervisor_file  监理文档表
 *
 * @author
 */
@Table(name = "supervisor_file")
@Data
@ToString
@EqualsAndHashCode
@Component
public class SupervisorFile implements Serializable {
    /**
     * 主键
     */
    @Id
    @Column(name = "id")
    private String id;

    /**
     * 文件名称
     */
    @OrderBy
    @Column(name = "file_name")
    private String fileName;

    /**
     * 文件类型 .png   .dox 等
     */
    @Column(name = "file_type")
    private String fileType;

    /**
     * 文件类型  业务类型等
     */
    @Column(name = "type")
    private String type;

    @Column(name = "create_date")
    private Date createDate;

    /**
     * 创建人id
     */

    @Column(name = "create_by")
    private String createBy;

    /**
     * 项目路径
     */
    @Column(name = "url")
    private String url;

    /**
     * 项目id
     */
    @Column(name = "project_id")
    private String projectId;

    /**
     * 项目类型    监理 咨询  检测
     */
    @Column(name = "project_type")
    private String projectType;

    /**
     * 项目里程碑主键
     */
    @Column(name = "spm_id")
    private String spmId;

    /**
     * 阶段表主键
     */
    @Column(name = "stage_id")
    private String stageId;

    /**
     * 项目分包表id
     */
    @Column(name = "pc_id")
    private String pcId;

    /**
     * 父级id
     */
    @Column(name = "parent_id")
    private String parentId;
    /**
     * 图片部位
     */
    @Column(name = "position_name")
    private String positionName;
    /**
     * from表Id
     */
    @Column(name = "link_id")
    private String linkId;

    /**
     * 流程状态 0 未发起流程  1 进行中  2 流程结束
     */
    @Column(name = "lc_status")
    private String lcStatus;

    /**
     * 文档序号
     */
    @Column(name = "ind")
    private Integer ind;

    /**
     * 知识库文件类型（文件夹：1，文件：2）
     */
    @Column(name="zskfile_type")
    private String zskfileType;

    /**
     * 父文件夹id
     */
    @Column(name="superior_id")
    private String superiorId;

    /**
     * 文件夹路径
     */
    @Column(name = "path_key")
    private String pathKey;
    /**
     * 知识库文档编码
     */
    @Column(name="file_number")
    private String fileNumber;

    /**
     * 检索关键字
     */
    @Column(name="search_key")
    private String searchKey;

    /**
     * 检索的说明信息
     */
    @Column(name="remark")
    private String remark;

    /**
     * 查看角色
     */
    @Column(name="examine_user")
    private String examineUser;

    /**
     * 下载角色
     */
    @Column(name="download_user")
    private String downloadUser;

    /**
     * 不允许查看的角色
     */
    @Column(name = "canot_see_roles")
    private String canotSeeRoles;
    /**
     * 禁止查看的角色
     */
    @Column(name="forbid_user")
    private String forbidUser;
    /**
     * 浏览量
     */
    @Column(name="page_view")
    private Integer pageView;
    /**
     * 下载量
     */
    @Column(name="downloads")
    private Integer downloads;
    /**
     * 删除状态(2：删除，1：未删除)
     */
    @Column(name="delete_state")
    private String deleteState;
    /**
     * 删除日期
     */
    @Column(name="delete_date")
    private String deleteDate;
    /**
     * 删除的用户
     */
    @Column(name="delete_user")
    private String deleteUser;

    /**
     * 是否是表单核心文件夹  1:是  其他:不是
     */
    @Column(name = "form_center")
    private String formCenter;

    // 是否插入过报审表 1 已插入
    @Column(name = "bs_status")
    private String bsStatus;
    // 是否操作过签章  1 已签章
    @Column(name = "qz_status")
    private String qzStatus;

    // 文件生成方式 “1”  从供需过来的文件
    @Column(name = "create_type")
    private String createType;






    /**
     * 收藏状态 1：收藏 0：未收藏
     */
    @Transient
    private String fileCollect;

    @Transient
    private String yyzz;
    @Transient
    private String dzqz;
    @Transient
    private String dzqm;
    @Transient
    private String sfzz;
    @Transient
    private String sfzf;
    @Transient
    private String xlzm;
    @Transient
    private String zlzp;
    @Transient
    private String formCode;
    @Transient
    private String spfId;
    /**
     * 设置相关路径的标志
     */
    @Transient
    private String dealPath;
    @Transient
    private ArrayList<SupervisorFile> childs;
    @Transient
    private List<SupervisorFile> listchilds;
    private static final long serialVersionUID = 1L;


}

